package com.zzw.utils;

import com.zzw.model.QueryStuResponse;

import java.util.List;

/**
 * @author zzw
 * @version 1.0
 * @title BizUtil
 * @description 业务工具类
 * @datetime 2022-12-29 08:19 下午
 */
public class BizUtil {
    private static final String TEMPLATE = "%n%-10s %-10s %-10s %-10s";
    private static final String HEADER = String.format(TEMPLATE, "学号", "姓名", "性别", "ID");

    private BizUtil() {
    }

    /**
     * 格式化输出学生列表信息
     *
     * @param resultList 学生信息列表
     * @return 格式化后的数据
     */
    public static String formatPrintList(List<QueryStuResponse> resultList) {
        System.out.print("【查询结果】如下: ");
        if (resultList == null || resultList.isEmpty()) {
            return "查询结果为空";
        }

        StringBuilder sb = new StringBuilder(HEADER);
        resultList.forEach(f -> sb.append(format(f)));
        return sb.toString();
    }

    /**
     * 格式输出单个学生信息
     *
     * @param result 学生信息结果对象
     * @return 格式化后的数据
     */
    public static String formatPrint(QueryStuResponse result) {
        System.out.print("【查询结果】如下: ");
        if (result == null) {
            return "查询结果为空";
        }

        return HEADER + format(result);
    }

    private static String format(QueryStuResponse res) {
        return String.format(TEMPLATE, res.getStuNo(), res.getStuName(), res.getStuSex(), res.getId());
    }
}
